add media bar modes#142
Conversation
When I first implemented the mediaBarMode setting in #128 to match moonbase I tested and it synced correctly with my other devices after I changed it on Roku. Are you saying that if moonbase has it as "not set (user decides)" then it won't push from devices to each other? I do have it default as "off", but if I changed it on my Roku it synced to other devices as far as I could tell |
…emNumber being incorrect
…oxset/collectionfolder in api
Ignore what I said, setting sync is working now |
|
This is insanity hahaha I love it |
Right! |
Pull Request
Summary
This PR adds 4 new media bar display styles to match the core app. The media bar mode comes with the ability to change instantly, as well as syncs to the Moonbase plugin. It also comes with parallelization of API requests to get media bar items, which was necessary as startup time was negatively impacted initially.
Related Issues
Type of Change
Changes Made
New Features
homeRowsremain visible.Refactoring
applyMediaBarLayout(): Centralized media bar/home rows visibility and backdrop sizing/local into a single function inHome.bs, replacing 6 duplicated code blocksrefreshDisplay(): Extracted mode-aware display refresh inMediaBar.bs, replacing duplicated code inonFocusChanged(),onVisibilityChanged(),refreshCurrentDisplay()startBackdropCrossfade(): Deduplicated backdrop crossfade logic into a single function inHome.bsbuildBackdropUrl()/buildItemUrls(): Separated URL construction fromprocessItem()to support mode switching without re-processing item datafilterAndDedupeItems(): Moved filtering/deduping logic fromMediaBar.bsin toMediaBarTask.bsfor parallel processingPerformance
MediaBarTask.bsnow fires concurrent async requests per library and collects results via message port. Necessary to keep app startup times within acceptance times after adding these new styles.Testing
Tried to cover as many edge cases that I could, but something may always slip through. I would appreciate if more people/testers could test switching between modes to identify issues I may have missed.
Screenshots (if applicable)
Moonfin (same as before)
MakD
Banner
Gallery

Bookshelf

Checklist